<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>[8.1]-PhalApi视频教程 | PhalApi(π框架) - PHP轻量级开源接口框架 - 助你创造价值！</title>
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <meta content="yes" name="apple-mobile-web-app-capable">
    <meta content="black" name="apple-mobile-web-app-status-bar-style">
    <meta content="telephone=no" name="format-detection">
    <meta content="email=no" name="format-detection">
    <meta name="Author" content="PhalApi,ecitlm,dogstar">
    <meta name="description" content="[8.1]-PhalApi视频教程，PhalApi是一个PHP轻量级开源接口框架，致力于快速开发接口服务。支持HTTP/SOAP/RPC等协议，可用于搭建接口/微服务/RESTful接口/Web Services。我们不断更新，保持生气；为接口负责，为开源负责！并承诺永久免费！">
    <meta name="keywords" content="PhalApi,phalapi,phalapi接口开发,后台接口开发,后台接口开发框架,接口开发,接口框架,开源接口框架,PHP后台接口开发,PHP接口开发,PHP接口框架,PHP后台接口框架,phalapi官网,PHP接口框架,php接口开发框架,php接口开发,php web框架,π框架,π开发框架,π接口框架,π接口开发框架,api接口,php接口,,PHP接口框架,phalapi文档,phalapi wiki,PhalApi文档,phalapi在线文档,phalapi官方文档">

    <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" media="screen">
    <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" media="screen">
    <link rel="stylesheet" href="../css/main.css" />
    <link rel="stylesheet" href="../css/loading_bar.css" />
    <link rel="icon" href="http://webtools.qiniudn.com/dog_catch.png" type="image/x-icon" />
    <script src="../js/pace.min.js"></script>
	
	<!-- 代码高亮 -->
	<link rel="stylesheet" href="../css/highlight.min.css">
	<script src="../js/highlight.min.js"></script>
	<script>hljs.initHighlightingOnLoad();</script>
    
</head>

<body>
    <!-- navbar start -->
    <div class="navbar navbar-default navbar-fixed-top" id="mainnav" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand website_name" href="/"><!-- <span>PhalApi</span> --><strong>PhalApi</strong></a>
            </div>
            <div class="navbar-collapse collapse" aria-expanded="false" style="height: 1px;">
                <ul class="nav navbar-nav navbar-right" id="nav_bar">
                    <li><a href="/"><span class="glyphicon glyphicon-home"></span></a></li>
                    <li><a href="http://qa.phalapi.net/">社区</a></li>
                    <li><a href="/download.html">下载</a></li>
                    <li class="active"><a href="/wikis/">文档</a></li>
                    <li><a href="http://www.ituring.com.cn/book/2405">书籍</a></li>
                    <li><a href="http://demo.phalapi.net/">体验</a></li>
                    <li><a href="/about.html">关于</a></li>
                    <li><a href="/donate.html">贡献</a></li>
                    <li><a href="/wikis/en/">English</a></li>
                </ul>
            </div>
            <!--/.nav-collapse -->
        </div>
    </div>
    <!-- navbar end -->


    <div id="content">
        <div class="container">
            <div class="row row-md-flex row-md-flex-wrap">
                <h2>[8.1] PhalApi视频教程</h2>
<p><strong><em>先在这里感谢以下录制小组的同学，是你们让世界看到PhalApi的视频教程！</em></strong>  </p>
<pre><code>A西瓜妹子、听风不语、彩色的雨、Catch、喵了个咪、dogstar</code></pre>
<p>PhalApi教程视频大纲，分为：基础教程、进阶教程、实战教程三类。  </p>
<p>附上:  </p>
<ul>
<li><a href="http://w-blog.cn">喵了个咪的博客</a>  </li>
<li><a href="http://www.phalapi.net/" title="PhalApi官网">PhalApi官网</a>  </li>
<li><a href="http://git.oschina.net/dogstar/PhalApi/tree/release" title="开源中国Git地址">PhalApi Git项目仓库</a>  </li>
<li><a href="http://git.oschina.net/wenzhenxi/PhalApi-video/tree/master">本次视频教程源代码</a>  </li>
</ul>
<h2>1 基础教程</h2>
<h3>1.1 环境搭建,安装和helloword</h3>
<p><a href="http://pan.baidu.com/s/1i5rUKrb">百度网盘</a>    <a href="http://v.youku.com/v_show/id_XMTUyODYxMDYyMA==.html">优酷视频</a>    </p>
<pre><code>1) phalapi介绍以及使用场景
2）建议使用liunx和各项环境配置最低
3）推荐IDE
4）框架编写的install展示
5）运行helloword!</code></pre>
<h3>1.2 初识PhalApi</h3>
<p><a href="http://pan.baidu.com/s/1i43jN6l">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUyODYxNTcwOA==.html">优酷视频</a>  </p>
<pre><code>1）目录功能讲解
2）数据库建库建表
3）连接数据库官方DEMO</code></pre>
<h3>1.3 init介绍以及配置文件讲解log记录</h3>
<p><a href="http://pan.baidu.com/s/1miISYnA">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUyODkzMTY1Mg==.html">优酷视频</a>  </p>
<pre><code>1）init文件作用内容讲解
2）配置文件使用讲解
3）以及log记录的活灵活用</code></pre>
<h3>1.4 请求返回</h3>
<p><a href="http://pan.baidu.com/s/1eR8FBRc">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUyODkzMTc4OA==.html">优酷视频</a>     </p>
<pre><code>1）请求的参数验证getRules方法使用讲解
2）返回json数据讲解
3）返回报错讲解
</code></pre>
<h3>1.5 国际化和自动生成文档</h3>
<p><a href="http://pan.baidu.com/s/1nvb8apF">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUzNjc4MDUyOA==.html">优酷视频</a>     </p>
<pre><code>1）返回国际化T方法讲解
2）自动生成文档规范讲解
3）如何查看
4）注意不要使用缓存会出不来</code></pre>
<h3>1.6 Model操作讲解</h3>
<p><a href="http://pan.baidu.com/s/1i468diX">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUzNzgyNDYwMA==.html">优酷视频</a>     </p>
<pre><code>1）Model表配置
2）NotORM的使用
3）简单的 curd 执行原生sql</code></pre>
<h3>1.7 简单的小项目</h3>
<p><a href="http://pan.baidu.com/share/link?shareid=2156398326&amp;uk=2760177667&amp;fid=672631133014334">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTU1MzIxODIxNg==.html?from=y1.7-2">优酷视频</a>     </p>
<pre><code>1）对用户的一个登录注册等操作的接口实际项目编写实战
2）并且总结</code></pre>
<h2>2 进阶教程</h2>
<h3>2.1 DI思想讲解</h3>
<p><a href="http://pan.baidu.com/s/1skWFHAt">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUyODY3NDA4OA==.html">优酷视频</a>     </p>
<pre><code>一、DI简介
1)DI的通用说明 
 + 容器 
 + Martin Fowler  
 + 示例

2)DI在π框架的角色 
 + 汇点
 + 管理全部服务资源
 + 形成 **通用语言** ，实现快速开发
 + 减少重复写一些单例模式的代码，以及泛滥的全局变量

3)π框架开发的使用

二、DI资源服务分类
1)框架本身的资源服务
 + 公共服务和内部服务
 + 公共服务的使用

2)如何自定义资源服务
 + 三步走：实现 -&gt; 注册 -&gt; 使用
 + 示例

三、技巧与需要注意的事项
 + 一行优雅的代码： DI()-&gt;get('filter', 'PhalApi_Filter_None')-&gt;check();
 + 注意别踩坑！</code></pre>
<h3>2.2 ADM模式深入浅出</h3>
<p><a href="http://pan.baidu.com/s/1gfwdbF1">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUzNzg4MDQ0OA==.html">优酷视频</a>     </p>
<pre><code>一、MVC模式与ADM模式
+ 为什么PhalApi自创ADM新模式？

二、ADM模式详解
 + Api接口层
 + Domain领域层
 + Model数据层

三、三层结构的优势与使用
1) 优势
 + 分层结构
 + 关注点分离
 + 更明确的层级调用

2）投票Demo的三层实现解说

3）TDD下简单接口开发实践
 + 阅后即焚功能场景
 + 先写单元测试
 + TDD下的三层实现</code></pre>
<h3>2.3 自动加载和拦截器</h3>
<p><a href="http://pan.baidu.com/share/link?shareid=2156398326&amp;uk=2760177667&amp;fid=858718049843252">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTU1MzI5Mjk3Mg==.html?from=y1.7-2">优酷视频</a>     </p>
<pre><code>1）自动加载机制的活灵活用
2）定义自己的项目功能文件
3）使用拦截器过滤参数并且使用token验证请求</code></pre>
<h3>2.4 自定义参数验证规则</h3>
<p><a href="http://pan.baidu.com/share/link?shareid=2156398326&amp;uk=2760177667&amp;fid=1104704339770636">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTU1NDQwNTUxNg==.html?from=y1.7-2">优酷视频</a>     </p>
<pre><code>1）对getRules自定义参数验证规则
2）一个邮箱验证的小案例</code></pre>
<h3>2.5 NotORM进阶细节使用</h3>
<p><a href="http://pan.baidu.com/share/link?shareid=2156398326&amp;uk=2760177667&amp;fid=474799696216969">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTU1NDQyNjM5Ng==.html?from=y1.7-2">优酷视频</a>     </p>
<pre><code>1）方法补全
2）事务操作</code></pre>
<h3>2.6 数据库读写分离以及多库使用</h3>
<p><a href="http://pan.baidu.com/share/link?shareid=2156398326&amp;uk=2760177667&amp;fid=92626721480442">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTU1NTMwMjQ2OA==.html?from=y1.7-2">优酷视频</a>     </p>
<pre><code>1）数据库实现读写分离
2）实现跨库使用</code></pre>
<h3>2.7 使用缓存</h3>
<p><a href="http://pan.baidu.com/share/link?shareid=2156398326&amp;uk=2760177667&amp;fid=655292487355982">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTU1NTMwNjgxNg==.html?from=y1.7-2">优酷视频</a>     </p>
<pre><code>1）使用缓存来实现缓存API请求结果
2）使用缓存来实现对数据库查询结果进行缓存</code></pre>
<h2>3 实战教程</h2>
<h3>3.1 多项目多版本处理</h3>
<p>百度网盘  优酷视频     </p>
<pre><code>//TODO</code></pre>
<h3>3.2 核心拓展介绍</h3>
<p><a href="http://pan.baidu.com/s/1gfnphuF">百度网盘</a>  <a href="http://v.youku.com/v_show/id_XMTUyODczNzEzMg==.html">优酷视频</a>     </p>
<pre><code>一、π框架中的扩展类库
1)扩展类库的简单介绍
 + 即插即用 
 + 可重用的、业务无关的基础设施类库  
 + 致力于与开源项目一起提供企业级的解决方案！

2)目前有哪些扩展类库 
 + 23+个

二、如何使用扩展类库
1)使用步骤
 + 1、下载安装
 + 2、配置
 + 3、注册
 + 4、使用

2)扩展类库使用示例
 + Log4php日记
 + View视图渲染

三、如何开发、贡献扩展类库
 + 如何开发尚未提供的扩展类库
 + 如何分享</code></pre>
<p><strong>官网QQ交流群:421032344  欢迎大家的加入!</strong></p><div style="float: left">
<h4>
<a href="http://qa.phalapi.net/">还有疑问？欢迎到社区提问！</a>
</h4>
</div>
            </div>
        </div>
    </div>

 <!-- 广告位 -->
<div class="grid-wrapper desktop-only">
	<p align="center">
		<a href="http://7xiz2f.com1.z0.glb.clouddn.com/%E6%88%91%E7%9A%84%E5%90%8D%E5%AD%97%E5%8F%AB%EF%BC%9A%CF%80%E6%A1%86%E6%9E%B6%20-%20PhalApi%202016%E5%B9%B4%E5%BA%A6%E5%BC%80%E6%BA%90%E6%80%BB%E7%BB%93%20-%20%E5%AE%98%E6%96%B9%E5%87%BA%E5%93%81.pdf" target="blank"><img width="950" height="100" src="http://7xiz2f.com1.z0.glb.clouddn.com/ad_20170104.png"></a>
		<a href="http://www.itran.cc/" target="blank"><img width="950" height="100" src="http://7xslqv.com1.z0.glb.clouddn.com/images/9/69/b88bc92455dc1239f9a5bf8d72929.png"></a>
		<a href="http://web-tools.phalapi.net/" target="blank"><img width="950" height="100" src="http://7xslqv.com1.z0.glb.clouddn.com/images/7/d0/88f523566c482296aecc43d185ca2.png"></a>
	</p>
</div>

        <!-- footer -->
        <div class="footer">
            <div class="link container ">
                <div class=" col-xs-7 col-sm-7 col-md-7 col-lg-7 ">
                    <h3>PhalApi (π框架)</h3>
                    <p>一个轻量级PHP开源接口框架，专注于接口服务开发，支持HTTP/SOAP/RPC协议，拥有自动生成的在线文档、多种开发语言的客户端SDK包以及可重用的扩展类库，可用于快速搭建微服务、RESTful接口或Web
                        Services。</p>
                    <!-- <p>:</p> -->
                    <span>友情链接:</span>
                    <a href="https://www.phalapi.net/" target="_blank"> PhalApi </a>
                    <a href="http://www.oschina.net/" target="_blank"> 开源中国 </a>
                    <a href="https://www.itran.cc/" target="_blank">艾翻译</a>
                    <a href="http://www.phalconphp.com/en/" target="_blank">Phalcon</a>
                    <a href="https://phpunit.de/manual/3.7/zh_cn/automating-tests.html" target="_blank">PHPUnit</a>
                    <a href="http://www.thoughtworks.com/cn/" target="_blank">ThoughtWorks</a>
                    <a href="mailto:chanzonghuang@gmail.com">友链交换</a>

                </div>
                <div class=" col-xs-5 col-sm-5 col-md-5 col-lg-5 contact_us ">
                    <h3>联系我们</h3>
                    <a href="https://github.com/phalapi/phalapi"><img src="../images/github.png" alt="github" /></a>
                    <a href="http://weibo.com/p/100808d236e99beb645bfb56ed1c37dde9b8bd?k=phalapi%E5%BC%80%E6%BA%90%E6%A1%86%E6%9E%B6&from=501&_from_=huati_topic"><img src="../images/weibo.png"  alt="weibo" /></a>
                    <a href="http://7xslqv.com1.z0.glb.clouddn.com/images/1/b0/894fde762850cb11250253f7d5ede.png"><img src="../images/zfb.png"  alt="zfb" /></a>
                    <a href="https://jq.qq.com/?_wv=1027&k=4A6reum"><img src="../images/qq.png"  alt="qq" /></a>
					<a href="http://git.oschina.net/dogstar/PhalApi"><img src="../images/git-oschina.png"  alt="git-oschina" /></a>
                </div>
                <div class="cls"></div>
                <div class="text-center copy_right"> ©2015-2017 PhalApi All Rights Reserved. <a href="http://www.miitbeian.gov.cn" target="_blank">粤ICP备15028808号</a>

				<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1255326144'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s4.cnzz.com/z_stat.php%3Fid%3D1255326144%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));</script>
                </div>
            </div>
        </div>
    </div>


    <a href="https://github.com/phalapi"><img id="gitHub_fllow" style="position: fixed; top: 0; right: 0; border: 0;z-index:9999" src="https://camo.githubusercontent.com/652c5b9acfaddf3a9c326fa6bde407b87f7be0f4/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6f72616e67655f6666373630302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png"></a>


    <script src="../js/jquery-1.11.1.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
</body>

</html>